package com.fidelizarte.ejb.persistence.dao.impl;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.Query;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.fidelizarte.ejb.persistence.dao.factorydao.AbstractDao;
import com.fidelizarte.ejb.persistence.entities.TipoPersona;

@Stateless
public class TipoPersonaDAO extends AbstractDao<TipoPersona> {

	private static final Logger log = LoggerFactory
			.getLogger(TipoPersonaDAO.class);
	private boolean transaccionRealizada = false;

	/**
	 * Constructor por defecto que inicializa el AbstractDao con la clase
	 * entidad
	 */
	public TipoPersonaDAO() {
		super(TipoPersona.class);
	}

	/**
	 * Obtiene una lista de empresas que coinciden con el nombre dado como
	 * parametro
	 * 
	 * @param nombreCamapania
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public List<TipoPersona> getCargosPorIdEmpresa(Integer idEmpresa) {
		Query query = em.createQuery("select t FROM TipoPersona t"
				+ " JOIN t.personas p " 
				+ " JOIN p.empresa e "+"WHERE"
				+ " e.idEmpresa=:idEmpresa");
		query.setParameter("idEmpresa", idEmpresa);
		return (List<TipoPersona>) query.getResultList();
	}
}
